<template>
  <div>
    <ul>
      <li v-for="(item, index) in arr" :key="index">
        {{item.name}} <button @click="buyBook(index)">买书</button>
      </li>
    </ul>
    <p>请选择你要购买的书籍</p>
    <ul>
    </ul>
    <table border="1" width="500" cellspacing="0">
      <tr>
        <th>序号</th>
        <th>书名</th>
        <th>单价</th>
        <th>数量</th>
        <th>合计</th>
      </tr>
      <tr v-for="(item, index) in arr" :key="item.name">
        <th>{{index + 1}}</th>
        <th>{{item.name}}</th>
        <th>{{item.price}}</th>
        <th>{{item.count}}</th>
        <th>{{prices(index)}}</th>
      </tr>
    </table>
    <p>总价格为: {{totalPrices}}</p>
  </div>
</template>

<script>
export default {
  data () {
    return {
      arr: [
        {
          name: '水浒传',
          price: 107,
          count: 0
        },
        {
          name: '西游记',
          price: 192,
          count: 0
        },
        {
          name: '三国演义',
          price: 219,
          count: 0
        },
        {
          name: '红楼梦',
          price: 178,
          count: 0
        }
      ]
    }
  },
  methods: {
    buyBook (index) {
      this.arr[index].count++
    }
  },
  computed: {
    // 每本书总价
    prices: function () {
      return function (index) {
        return this.arr[index].price * this.arr[index].count
      }
    },
    // 所有书总价
    totalPrices: function () {
      return this.arr.reduce((sum, item) => {
        sum += item.price * item.count
        return sum
      }, 0)
    }
  }
}
</script>

<style scoped lang='less'>

</style>
